iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0

本篇閱讀時間約: 1 分鐘

新需求

原本的任務列表誰都能新增、編輯、刪除,
今天我們想要為使用者分出權限,
只有管理者才可以新增任務,
使用者只能是觀看任務的一方。

增加使用者工作表

首先我們需要先為使用者增加一個工作表,
裡面需要有 ID、使用者、角色權限:

https://ithelp.ithome.com.tw/upload/images/20230924/20152260exUNTgXVrQ.png

接著在「Data」裡面,建立資料表「Role」,直接從 Sheets 轉移過來,
並將 Role 改成 Enum 的類型:
https://ithelp.ithome.com.tw/upload/images/20230924/20152260Ck5KaAWumI.png

設定任務 CRUD 的權限

從 Actions 找到 Task 的 Add,
往下滑找到 Behavior,
在 「Only if the condition is ture」的地方,
打上公式「 LOOKUP(USEREMAIL(),"Roles",User,Role)="Admin" 」
這個公式的意思是:LOOKUP(搜尋的值, 資料表名稱, 搜尋列的名稱, 返回列的名稱)
也就是說我們是搜尋 Roles 表的 User 欄位,找到跟目前登入的 email 相同的列,並返回該列角色的值,
意思就是說目前使用者的角色,如果是 Admin,那就可以 Add。

https://ithelp.ithome.com.tw/upload/images/20230924/20152260FTp1BcxqKj.png

編輯跟刪除也是依樣畫葫蘆。

測試

現在我們來測試一下不同帳號看到的畫面,
沒有權限的帳號:
https://ithelp.ithome.com.tw/upload/images/20230924/20152260QMV1D6JaKX.png

有權限的帳號:
https://ithelp.ithome.com.tw/upload/images/20230924/201522601j5GmZTyXy.png

完成!

小結

老實說不看範例我還真不知道要這樣子設定,
依靠 chatGPT 還解答不了這一次的需求,
明明我都覺得我講的蠻清楚了,
可能是因為我是免費仔的關係吧。

感冒了還是得學習得發文,鐵人賽真的是叫鐵人賽。


上一篇
從 0 打造 Onboarding and Training (一)
下一篇
從 0 打造 Onboarding and Training (三)
系列文
大叔什麼都想學之 Low-Code / No-Code (LCNC) 從 0 到 ∞30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言